home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 22
/
Commodore_Free_Issue_22_2008_Commodore_Computer_Club.d64
/
t.music edit 4.1
< prev
next >
Wrap
Text File
|
2023-02-26
|
9KB
|
326 lines
u
TND Creating music with DMC
http://www.redesign.sk/tnd64/
music_scene.html
Created by Richard Bayliss
with Special thanks to Rio/Rattenrudel
Final instalment 4.1
2.5.1Options
We can step with CRSR Keys up and down
in Sector Editor. The HOME Key jumps
to first line of sector. SHIFT + [ or
SHIFT + ] will change the current
sector to previous or next sectors.
If you want to compose something,
first you will need to set up Commands
like Duration and Sound, Then you are
able to write down notes in the
sectors. Otherwise it will use the
last settings of a sector before.
(------) represents an empty step. If
you want to change all notes to
another pitch value from current
position, then you should push SHIFT +
< or SHIFT + >. All Instruments below
will now transpose up or transpose
down.
+ key will switch the VOICE ON or OFF,
so that you can listen to your placed
noted. - key will set an empty step
(------). DEL key deletes a line, INST
will insert an empty line instead. CLR
(SHIFT + HOME) will delete the whole
sector.
Like in Track Editor - a COPY / PASTE
functionality is integrated in sectors
too. ? Arrow (Copy - part of the
screen flicker in green) and @ (Paste
- part of the screen flicker in red).
Sectors will be copied only to an END!
Command in Tracks (Everything behind
that will be ignored).
In DMC7 you are able to trace a sector
by pushing ?. But beware, i noticed
some crashes if we do it to often,
looks like a bug. SHIFT + RETURN will
close the sector editing.
2.5.2Commands
The sector editor allows us to use
different commands:
DUR.xxSets the duration for passing
one step (C= + D)
SND.xxSets an instrument number (C= +
S)
GLD.xySlides/glides between two notes
(C= + G)
VOL.0xSets a volume (works if no
Attack or Decay is set) (C= + V)
SWITCHPlayed notes in that section
will not be reset by ADSR (C= + X)
-GATE-Set gate for a played note (
key)
END!End of Sector will switch into the
next sector of track (= key)
If you are writing your first tune,
you can try to change the duration
time (DUR.xx) before the next note is
played. DUR is a command like SND
etc., which will be noticed by the
play routine - but only interpreted as
a command (not as a step!). By setting
DUR Command it will jump to next note
after waiting of xx Steps. The DUR
value represents the duration between
2 note-steps.
Let's take a look to following
example:
00 ------
01 DUR.03
02 D-3
03 D-4
04 END!
It will do the same like this:
00 ------
01 DUR.01
02 D-3
03 ------
04 ------
05 D-4
06 ------
07 ------
08 END!
Ok? But the first method has a better
raster timing and is more space
efficient. So you can optimized your
composed code with using DUR command.
Using GLD.xy command isn't so simple,
but here a quick example in two ways:
1. Slide from current note:
We are able to slide from a current
playing note to another note. We have
to adjust the GLD.xy parameters with
x=1 and y=speed (0 - none, 1 -
slowest, F - fastest) and we need to
set the destination note. You can try
to play these sectors (01, 02) in a
loop:
You will hear a downslide to G-3 (from
B-4) and an up slide to G-3 (from B-2)
in the second sector, but both in
different amounts of speed, and you
also have to watch out how many steps
are between the notes. If you slow
down the speed of slide in the first
sector (instead F e.g. y = 3), you
will notice that the duration of slide
will be execute too affecting the next
note. Then the next note will slide,
which actually shouldn't be slid.
2. Glide between two notes:
The second way is to glide between two
fixed notes. We need to set the source
and destination note after GLD.xy
Command. We have to adjust the GLD.xy
parameters with x=0 and y=speed (0 -
none, 1 - slowest, F - fastest). We
have also pay attention to duration
and speed of glide. If another note is
to be played and the glide isn't
finished, it will influence the
following notes too! The both notes,
which are followed after that GLD
Command will be interpreted together
as one step. The following example
will demonstrate a glide between G-3
and E-5:
Volume Command VOL.0x can be used to
control volume in channel independent
from instrument's Sustain level. The
maximum level is F. Volume changes can
only be used for instruments which
don't use Attack and Decay. The last
volume adjustment will be stored
globally for that channel. If you want
to reset volume settings, so that
instruments will use their own ADSR,
you have to set Volume parameter back
to 00.
SWITCH Command won't reset the ADSR
for following notes. It can be used in
two ways, If we set one SWITCH
command, then every following note
will use the current ADSR setting
until a further SWITCH or END -
Command is issued. Then the ADSR will
be reset, Take a look at the two
examples:
GATE Command will activate the GATE of
a played instrument, It should only
set after a played note.
END Command have to be set in every
sector and represents the mark of
ending a sequence. It will define the
total length of your sector too.
2.5.3Time Control
So the main question is: How can i
synchronize all three channels with
different played sectors. Therefore
the total duration time is necessary,
If your "tune speed" is 00 and if you
setup your editor as follow, you
should find following values on
screen: L: 0000 0008
The first 4 numbers represents the
current played position. The Second 4
numbers represents the total duration
time of a sector. It should be same in
all the other sectors (or a multiple
or halve of that). In the example
above you can calculate the sum for
every note: DUR04+DUR02+DUR02 = 8.
Notice that this number is always
hexadecimal! After Editing the number
it'll be refresh if you open again the
sector or you start the play routine.
Take care to choose a good divisible
value, You'll understand it if you try
drums. Notice that at the end of a
sequence should stand an -END-, so
that the player knows that you want
change to the next sector in track.
END, SND, DUR ... are commands, which
are only read in from player and so
they shouldn't stand in front of an
END. These commands are not counted!
Notes, GATE and --- are interpreted as
full played notes, which are counted
in a total duration of a sector.
In menu setup you'll find "tune
setup". Here you can adjust the whole
song speed. What does it means? A
higher value will halve the speed. So
that you can calculate the total
duration time as follows: L:0000 XXXX
= (tune SPD + 1)* all DURs (for
Notes/Gate/---)
2.5.4Global Filter and Pulse
There is an easy way to create cool
Filter Effects and Low Frequency
Modulation for sequences, which are
using filter.
First, you have to create one
instrument in Sound Editor. Choose the
first instrument number. There you
have to choose a filter number (F) and
activate the filter (FX: 20) for that
instrument. Then go in Filter Editor,
choose that number and define these
parameters for testing that:
F 3 09 00 00
01 00 00 00 00 FF
25 01 01 01 01 25
All right, now go back into the Sound
Editor again. Copy your
instrument-settings on a free place
(another instr. number = 2) and paste
your buffer. Now set FX: 22 - that
means NO FILTER RESET. Go into Sector
editor and put following sequence:
00 DUR.03
01 SND.01;FX: 20 you have to reset
first the filter settings ;)
02 C-1
03 SND.02;FX: 22 NO FILTER RES to
start global filter for next notes
04 C-2
05 C-2
06 C-1
07 C-2
08 C-2
09 C-1
0A C-2
0B END!
Ok, so you can create LFO envelops for
all following notes, the filter
envelopes are transferable on other
instrument, which use these filter
settings too. Notice that all these
setting are different for both SIDs
(6581 /8580). You have to choose
higher values on the 6581, otherwise
the filtered instruments sound to
deep, pay attention to set filtered
sounds only in one channel!
Ok, you can try these settings for
Pulse instruments too. You only have
to choose an instrument with Pulse
Wave (41) with defined SPEED values
and set FX to NO PULS RES instead NO
FILTER RES.
2.6Quick Recaps and Examples
Familiarize yourself with the sound
tables, now it is time to do some
serious work on those tables. For a
start off re-init DMC and pick a
normal instrument, which can be the
main instrument for any tune, that you
compose in future. Because you're at
sound #$00, enter the following:
After setup wavetable press SHIFT +
RETURN then press SPACEBAR to test the
sound. There, we are, a perfect
working sound. The octave of your test
sound can be incremented and decrement
by pressing SHIFT and '+' or SHIFT and
'-' (depending on which way you would
like your sounds' octave to go).
Okay, now press the UP ARROW key on
your C64 to put the current sound
intro memory buffer. Then press '@' to
paste to the next instrument. Now all
you need to do is add a filter. The
next diagram shows how a filter can be
turned on.
Continued in 4.2